home *** CD-ROM | disk | FTP | other *** search
- /*
- *
- * ToolLib.h - Interface file for functions contained in
- * ToolLib library. These functions can be used by
- * programs that are to be operated as tools under the
- * APW shell on the Apple IIgs.
- *
- * Copyright Apple Computer, Inc. 1989
- * All rights reserved
- *
- * Author: Greg Branche
- *
- */
-
- #ifndef __ToolLib__
- #define __ToolLib__
-
- /************************************************************
-
- <<< CursorCtl - Cursor Control Routines >>>
-
- This file contains:
-
- InitCursorCtl(delaycount) - Init CursorCtl to set the spin delay
- RotateCursor(counter) - Sequence through cursor frames for counter mod delay
- SpinCursor(increment) - Sequence mod delay incrementing internal counter
- Hide_Cursor() - Hide the current cursor
- Show_Cursor() - Show the cursor
-
- ************************************************************/
-
- extern pascal void InitCursorCtl(/* delaycount */);/*
- unsigned long delaycount;
-
- Initialize the CursorCtl unit. This should be called once prior to calling
- any of the other CursorCtl routines. If delaycount = 0, then the default delay
- value of 32 will be used. Ensure that the value being passed as delaycount is
- 32-bits in size (long)
- */
-
- extern pascal void Show_Cursor();/*
-
- This function removes the default inverse space cursor from the screen and replaces it
- with the first frame of the animated cursor. It then outputs a backspace so that any
- subsequent characters will automatically overwrite the cursor character.
- */
-
- extern pascal void RotateCursor(/* counter */);/*
- unsigned long counter;
-
- RotateCursor is called to rotate the "I am active" "spinning wheel" cursor. The next cursor
- ("frame") is used when (counter MOD delaycount) (as specified in the InitCursorCtl call) = 0
- (counter is some kind of incrementing or decrementing index maintained by the caller). A
- positive counter sequences forward through the cursors (e.g., it rotates the cursor
- "clockwise"), and a negative cursor sequences through the cursors backwards (e.g., it
- rotates the cursor counterclockwise).
- */
-
- extern pascal void SpinCursor(/* increment */);/*
- unsigned short increment;
-
- SpinCursor is similar in function to RotateCursor, except that instead of passing a counter,
- an increment is passed and added to a counter maintained here. SpinCursor is provided for
- those users who do not happen to have a convenient counter handy but still want to use the
- spinning cursor. A positive increment sequences forward through the cursors (rotating the
- cursor clockwise), and a negative increment sequences backward through the cursors (rotating
- the cursor counterclockwise). A zero value for the increment resets the counter to zero.
- Note, it is the increment, and not the value of the counter that determines the sequencing
- direction of the cursor (and hence the spin direction of the cursor).
- */
-
- extern pascal void Hide_Cursor();/*
-
- Hides the current character of the spinning cursor. Use this routine when you wish to
- revert to the standard inverse space cursor.
- */
-
- /************************************************************
-
- ErrMgr.h - //GS equivalent of the MPW Error Manager
-
- ************************************************************/
-
- extern void InitErrMgr(/* toolErrFilename, sysErrFilename, showToolErrNbrs */);
- /* char *toolErrFilename;
- char *sysErrFilename;
- boolean showToolErrNbrs;
-
- Initializes the error manager. If toolErrFilename is not null, this will open the resource fork
- of that file to allow access to tool-specific error messages. If sysErrFilename is not null,
- this will open the resource fork of that file instead of the standard APW error message file.
- If showToolErrNbrs is TRUE, then any call to GetSysErrText will show the decimal and hexadecimal
- error number in parentheses after the text of the error message. If this is false, all that
- GetSysErrText will provide is the text of the message.
-
- To use the error manager, your tool must start up the Resource Manager prior to calling
- InitErrMgr. This function will NOT do it for you.
- */
-
- extern void CloseErrMgr();
- /*
- This simply closes any resources files opened by InitErrMgr. It is not absolutely required that
- you call this function prior to exiting your tool, but it is available. If it is not called, the
- Resource Manager will automatically close any files opened. You must shutdown the Resource
- Manager yourself.
- */
-
- extern char *GetSysErrText(/* errNbr,errMsg */);
- /* unsigned errNbr;
- StringPtr errMsg;
-
- GetSysErrText performs a resource lookup for the supplied errNbr. It does this by calculating
- which resource number to use from the system resource file or the tool-specific error file.
-
- The function places the error message text in the buffer pointed to by errMsg, and also returns
- a pointer to a standard C string representing the error message associated with the given error
- number. If there is message text available for the given error number, the string will have
- the following format:
-
- ### {tool name}: {message text}
-
- If no specific message is available, the string will have the following format:
-
- ### {tool name}: Error {decimal error number} ($xxxx)
-
- where $xxxx is the hexadecimal error code.
- */
-
- /************************************************************
-
- gsString.h - header file for GS/OS string support functions
-
- ************************************************************/
-
- #ifdef __GSOS__
-
- extern GSString255 *c2gsstr(/* str, pathGS */);
- /* char *str;
- GSString255 *pathGS;
-
- This function accepts a null terminated C string and copies it to a
- GS/OS-style string (length word followed by the characters of the string).
- On return, the function returns the pointer to the pathname structure
- */
-
- extern char *gs2cstr(/* pathGS, str */);
- /* GSString255 pathGS;
- char *str;
-
- This function converts a GS/OS-style string (word length followed by the
- characters of the string) to a normal, null terminated C string. On exit
- it returns a pointer to the string (which is the same as that specified
- on entry).
- */
-
- extern void colonize(/* fileName */);
- /* char *fileName;
-
- normalizes a filename string so that it contains only colons as pathname
- separators. If there are no separators in the filename, the name is left
- unchanged. If the filename contains no slashes, the filename is left
- unchanged.
- */
- #endif
-
- /************************************************************
-
- pause.h - header file for APW-compatible pause function
-
- ************************************************************/
-
- extern int pause();
- /*
- This function should be called periodically by an APW tool to check for
- a pending keypress and/or command-. (abort signal). If the command-.
- keypress is pending, the function will return a non-zero value
- (signifying TRUE). If any other keypress is pending, the function
- will display an hourglass character on the screen and pause until
- another key is pressed.
-
- The value returned is either non-zero (TRUE), indicating that command-.
- has been pressed and the tool should abort, or 0 (false), indicating
- that processing should proceed.
- */
-
- extern int wait();
- /*
- This function operates similarly to the pause() function, except that
- it forces a keypress prior to returning to the caller. That is, it
- waits in a loop until a keypress occurs. The values returned are the
- same as described for the pause() function.
- */
- #endif